#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QMessageBox>
#include <QSplitter>
#include <QToolbar>
#include <QDir>

#include "inputsettingswidget.h"
#include "algorithmeditdialog.h"
#include "manualinputwidget.h"
#include "tasklistwidget.h"
#include "task.h"

extern QStringList OptimizationStrings;
extern QStringList AlgorithmStrings;
extern QList<Algorithm> algorithms;

namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;

    QSplitter *mainSplitter;
    QSplitter *upSplitter;

    InputSettingsWidget *inputSettingsWidget;
    ManualInputWidget *manualInputWidget;
    TaskListWidget *taskListWidget;

    AlgorithmEditDialog *algorithmEditDialog;

    void setupActions();
    void LoadTypeLists();

private slots:
    void Input();
    void EditAlgoritms();
};

#endif // MAINWINDOW_H
